The Gen2 RFID protocol utilizes a Q round methodology to inventory a population of tags. An interrogator chooses a value of Q and sends this number in a query command to a population of tags. Each tag in the population then picks a random number between 0 and 2Q−1. This number represents the slot of the round in which the tag backscatters its message (RN16) value to the interrogator.
With reference to FIG. 1A, the interrogator chose a Q value of three, thus creating eight possible slots 100A, 100B, 100C, 100D, 100E, 100F, 100G, 100H (referred to generally as slot 100). Fourteen tags were available during this inventory round. Slot zero 100A and slot three 100D are each chosen by only one tag and are therefore referred to as “singly occupied slots”. These slots 100 are decoded correctly. None of the tags chose slot 100B, and that slot is therefore referred to as “empty”. Two or more tags occupy the remaining slots 100C, 100E, 100F, 100G, 100H causing “collisions” in their respective tag responses. The inventory round depicted in FIG. 1A typically results in successful decoding of two tags. In response, the interrogator increases the value of Q in the next round reducing the number of collisions occurring rendering more tags readable.
With reference to FIG. 1B, the interrogator uses the same Q value of three but with a population of four tags instead of fourteen. Sensing the large number of “empty” slots the interrogator should reduce the value of Q in the subsequent inventory round, to reduce the time taken to inventory the tags correctly.
FIG. 2, shows a typical Gen2 query method 200 for determining whether a slot 100 is singly occupied, empty, or a collision. The method includes performing (step 210) a query and checking (step 220) for the RN16 start-of-frame pattern. If the RN16 start-of-frame pattern is not detected, the slot 100 is classified (step 230) as empty. When the RN16 start-of-frame pattern is detected, the interrogator transmits (step 240) an ACK message. After sending the ACK message, the reader checks (step 250) for the EPC start-of-frame pattern. If the EPC start-of-frame pattern is not detected, the slot 100 is classified (step 260) as collided. When the EPC start-of-frame pattern is detected, the EPC cyclic redundancy check (CRC) is checked (step 270) for correctness. If the CRC is incorrect, the slot 100 is classified (step 280) as collided. The slot 100 is classified (step 290) as singly occupied when the CRC is correct.
As shown, the ability to successfully decode the start-of-frame pattern is critical in classifying the outcome of the slot 100. This start-of-frame pattern can be seen by the phase reversals following the pilot tone as per the Miller or FM0 coding scheme basis functions. Basis functions for the Miller coding scheme are defined in EPC Global Specifications. Miller coding inserts phase reversal in the middle for a ‘1’ bit and a phase reversal for a ‘0’ bit depending on the next bit. Phase reversals can be detected from sign changes in the output of a matched filter. This detection algorithm can tolerate the link frequency variation of up to 50% (most of the standards limit the link frequency variation to <15%). Interrogator estimates the link frequency from the pilot tone with in the first three cycles and continues to track it during the response. This way a matched filter can reliably detect any phase reversals after three cycles.
Noise sources, collisions, interference and bit errors however can cause problems in accurately deciphering the start-of-frame pattern. This may lead to incorrect classification of the outcomes of a slot 100. In addition, bit errors may cause the CRC check to fail. In that case a singly occupied slot 100 may be misinterpreted as a collision.
As can be seen from the above examples, it is important that the interrogator accurately identify the number of empty, single occupied slots, and collisions to adjust the value of Q for the next inventory round. By adjusting the Q value the number of tags read correctly is increased and the time required to read those tags is reduced.